package UI.funcionarios;

import gestorBD.Controlador;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import uiMain.OpcionDeMenu;
import static uiMain.bienRaizOk.ventana;

public class PanelOpcionConsultarPago extends OpcionDeMenu {

    JLabel labelTitulo;
    JLabel labelSeleccioneMes;
    JLabel labelSeleccioneAnho;

    JComboBox<String> comboBoxMes;
    JTextField campoAnho;

    JButton botonAceptar;
    JButton botonVolver;

    public PanelOpcionConsultarPago() {
        super();
    }

    @Override
    public void ejecutar() {
        this.setLayout(new BorderLayout());

        labelTitulo = new JLabel("Consultar mi pago para un mes específico");
        this.add(labelTitulo, BorderLayout.NORTH);

        JPanel panelCentral = new JPanel(new GridLayout(3, 2));

        labelSeleccioneMes = new JLabel("Seleccione el mes:");
        panelCentral.add(labelSeleccioneMes);

        String[] meses = {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
        comboBoxMes = new JComboBox(meses);
        panelCentral.add(comboBoxMes);

        labelSeleccioneAnho = new JLabel("Digite el año:");
        panelCentral.add(labelSeleccioneAnho);

        campoAnho = new JTextField();
        campoAnho.setText("");
        panelCentral.add(campoAnho);

        botonAceptar = new JButton("Aceptar");
        panelCentral.add(botonAceptar);

        botonVolver = new JButton("Volver");
        panelCentral.add(botonVolver);

        this.add(panelCentral, BorderLayout.CENTER);

        ventana.mostrarPanel(this);
        ventana.revalidate();

        //Se añaden las funcionalidades
        botonAceptar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                byte mes = (byte) (comboBoxMes.getSelectedIndex() + 1);
                int anho = -1;
                try {
                    anho = Integer.parseInt(campoAnho.getText());
                } catch (Exception ex) {
                    String textoPopUp = "Ingrese un año válido";
                    JOptionPane.showMessageDialog(null, textoPopUp, "Error", JOptionPane.ERROR_MESSAGE);
                    return;
                }
                String[][] datos = Controlador.obtenerPago(mes, anho);
                String[] titulos = {"Concepto", "Valor"};

                JTable tablaPago = new JTable(datos, titulos);

                JFrame framePopUp = new JFrame("Consulta de salario");
                framePopUp.setLayout(new BorderLayout());
                framePopUp.setSize(330, 120);
                
                framePopUp.setResizable(false);
                framePopUp.setLocationRelativeTo(null);

                framePopUp.add(tablaPago,BorderLayout.CENTER);
                framePopUp.setVisible(true);

            }

        });

        botonVolver.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                ventana.mostrarPanelOpcionesDeFuncionario();
            }

        });

    }

    @Override
    public String toString() {
        return "Consultar mi pago para un mes específico";
    }

}
